/*!
 * 自定义全局js
 * Copyright 2011-2014 Twitter, Inc.
 *
 */
$(document).ready(function(e) {
	if($(".right").outerHeight()<$(".left").height()){
			$(".right").css('min-height',$(".left").height()-30)
	}
	//下拉菜单
	$(".menu").mouseenter(function(){
		$(".dropdown").fadeIn(500);	
	});	
	$(".menu").mouseleave(function(){
		$(".dropdown").fadeOut(500);	
	});
	//修改密码
	$('[action="editPasswd"]').click(function(){
		$('[popup="editPasswd"]').reveal();
	})
	//注销
	$('[action="signout"]').click(function(){
		showConfirm({
			msg:"确认退出登录吗",
			confirmed:function(){
			  $('#logout').Qsubmit();
			}	
		});
	})

   //ajax全局阻止重复提交
   window.ys={};
   window.ys.ajax={};
   window.ys.ajax.urlMap= new Array();

	$.ajaxSetup({
		beforeSend:function(xhr){
			//console.log(this.url);
			if(ys.ajax.urlMap[this.url] && ys.ajax.urlMap[this.url] == 'lock'){
				return false;
			} else {
				ys.ajax.urlMap[this.url] = 'lock';
			}
		},
		complete:function(){
			ys.ajax.urlMap[this.url] = 'unlock';
			delete ys.ajax.urlMap[this.url];
			hideLoading();
		},
		error: function(xhr, status, err){
			if(xhr.status  == "200" || xhr.status == 200){
				return;
			}
			
			$(xhr.responseText).map(function(){ 
				if($(this).is('title')) {
					showModal($(this).text());
				}
				if($(this).is('redirect')) {
					if($(this).is('redirect')!=''){
						var url = $(this).text();
						setTimeout(function(){
		                    location.href = url;
		                },1000);
					}
				}
			});
			
			console.log(xhr.statusText);
			hideLoading();
		}
	});

});


//显示黑块提示 替换alert
function showModal(obj){

   var fadeInTime = obj.fadeInTime ? obj.fadeInTime : 500; //黑块淡进
   var delayTime = obj.delayTime ? obj.delayTime : 2000; //停留时间
   var fadeOutTime = obj.fadeOutTime ? obj.fadeOutTime : 200; //淡出时间
   var callbackTime  = obj.callbackTime ? obj.callbackTime : 3000; //回调延迟
   	if(typeof obj == 'string'){
   		var msg = obj;
   		obj = {};
   		obj.msg = msg;
	} 
   if($(".showModal").length==0){
	    $("body").append('<div class="showModal" style="display:none">'+obj.msg+'</div>');
   }

   $(".showModal").fadeIn(fadeInTime).delay(delayTime).animate({"top":"60%","opacity":0},fadeOutTime).fadeOut(0);

   //回调
   if(obj.end){
	   setTimeout(function () {
		obj.end();

	   }, callbackTime);
   }
   //移除黑块
   setTimeout(function () {

	$(".showModal").remove();
   }, fadeInTime+delayTime+fadeOutTime);

}

//显示置顶按钮
function showTopBtn(){

	if($(".to-top").length==0){
		$("body").prepend('<div class="to-top"></div>');
	};

	$('.to-top').on('click',function(){

		$("html,body").animate({ scrollTop: 0 }, 0);
	});
	$(".to-top").fadeIn(200);

}
function hideTopBtn(){
	$(".to-top").fadeOut(200);

}

//显示弹窗 依赖jquery.reveal.js
function showConfirm(obj){
    var msg = obj.msg ? obj.msg : "确定要执行操作嘛？"; //黑块淡进
    var primaryBtnText = obj.primaryBtnText ? obj.primaryBtnText : "知道了"; //alert按钮文字
    $("[popup='confirm']").find("[action='confirm']").html(primaryBtnText); //替换按钮文字
     //替换按钮url  
    if(obj.url){
        if(obj.url.target){
       		$("[popup='confirm']").find("[action='confirm']").attr("target",obj.url.target);	 
        }		
       $("[popup='confirm']").find("[action='confirm']").attr("href",obj.url);

    }else{
    	$("[popup='confirm']").find("[action='confirm']").removeAttr("target"); 
    	$("[popup='confirm']").find("[action='confirm']").removeAttr("href");

    };   

	$("[popup='confirm']").reveal({
		
	});
	$("[popup='confirm']").find("[action=msg]").html(msg);
	$("[popup='confirm']").find("[action=confirm]")[0].onclick=function(){	
		if(obj.confirmed){obj.confirmed()};
		$("[popup='confirm']").closeModal();
		return true;
	};
 	$("[popup='confirm']").find("[action=cancel]")[0].onclick=function(){
		if(obj.cancel){obj.cancel()};
		$("[popup='confirm']").closeModal();
		return false;
	};
}


//显示弹窗alert 
function showAlert(obj){



    var msg = obj.msg ? obj.msg : "弹窗提示！"; //alert主体文字
    var primaryBtnText = obj.primaryBtnText ? obj.primaryBtnText : "知道了"; //alert按钮文字
   
    $("[popup='alert']").find("[action='alert']").html(primaryBtnText); //替换按钮文字

    //替换按钮url
    if(obj.url){
        if(obj.url.target){
       		$("[popup='alert']").find("[action='alert']").attr("target",obj.url.target);	 
        }	

        
       $("[popup='alert']").find("[action='alert']").attr("href",obj.url);

    }else{
    	$("[popup='alert']").find("[action='alert']").removeAttr("target"); 
    	$("[popup='alert']").find("[action='alert']").removeAttr("href");

    };  

	$("[popup='alert']").reveal({
		closeonbackgroundclick:false
	});
	$("[popup='alert']").find("[action=msg]").html(msg);
	
	if(obj.btn==false){
		$("[popup='alert']").find(".form-row,.split-dot").hide(0);	
	}else{
		$("[popup='alert']").find(".form-row,.split-dot").show(0);
	}	
	
	$("[popup='alert']").find("[action=alert]")[0].onclick=function(){	
		if(obj.alerted){obj.alerted()};
		$("[popup='alert']").closeModal();
		return true;
	};

}

//判断ajax返回类型 兼容ie7
function ajaxType(val){
	if(typeof(val)=='string'){
		return JSON.parse(val);
	}else{
		return val;
	}
}

// 播放声音
function playAudio(url){
    var el=document.createElement('audio');
    var audioSupported = !!(el.canPlayType);
    if (audioSupported) {
        el.src = url;
        el.play();
    }
}

function formatYuan(n) {
    var fraction = ['角', '分'];
    var digit = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
    var unit = [
        ['元', '万', '亿'],
        ['', '拾', '百', '千']
    ];
    var head = n < 0 ? '欠' : '';
    n = Math.abs(n);

    var s = '';

    /*for (var i = 0; i < fraction.length; i++) {
     s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
     }*/
    s = s || '整';
    n = Math.floor(n);

    for (var i = 0; i < unit[0].length && n > 0; i++) {
        var p = '';
        for (var j = 0; j < unit[1].length && n > 0; j++) {
            p = digit[n % 10] + unit[1][j] + p;
            n = Math.floor(n / 10);
        }
        s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
    }
    return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');
}
